Phyloseq 1.38.0
## Import functions
library(plotly)
Warning: le package 'ggplot2' a été compilé avec la version R 4.1.3
library(phyloseq)
source(file.path(params$libdir, "graphical_methods.R"))
Warning in file(filename, "r", encoding = encoding): impossible d'ouvrir le
fichier '/home/vdarbot/Bureau/FROGS_fork/lib/external-lib/graphical_methods.R' :
Aucun fichier ou dossier de ce type
Error in file(filename, "r", encoding = encoding): impossible d'ouvrir la connexion
## Alternative to source all extra function from a github repo
# source("https://raw.githubusercontent.com/mahendra-mariadassou/phyloseq-extended/master/load-extra-functions.R")
## Setting variables
## Phyloseq object (rdata file)
# phyloseq <- ""
## Experimental variable used to group samples (Treatment, Host type, etc).
# varExp <- ""
## Taxonomic level to filter your data" help="ex: Kingdom, Phylum, Class, Order, Family, Genus, Species
# taxaRank1 <- ""
## Taxa (at the above taxonomic level) to keep in the dataset"
## ex: Bacteria (when filtering at the Kingdom level), Firmicutes (when filtering at the Phylum level).
## Multiple taxa (separated by a space) can be specified, i.e. Firmicutes Proteobacteria
# taxaSet1 <- ""
## Taxonomic level used for aggregation" help="ex: Family (when filtering at the Phylum level).
## The aggregation level must be below the filtering level.
# taxaRank2 <- ""
## Number of most abundant taxa to keep",
## ex: 9, i.e. Tool keeps the 9 most abundant taxa and the remaining taxa are aggregated in a group 'Other
# numberOfTaxa =
## Create input and parameters dataframe
# params <- data.frame("phyloseq"=phyloseq,
# "varExp"=varExp,
# "taxaRank1" = taxaRank1,
# "taxaSet1" = taxaSet1,
# "taxaRank2" = taxaRank2,
# "numberOfTaxa"=numberOfTaxa )
## Load Phyloseq object
load(params$phyloseq)
# custum graphical facetting
facet <- paste('facet_wrap(~', params$varExp,', scales = "free_x", nrow = 1)')
Bar plot
p <- plot_bar(data,fill= rank_names(data)[2]) + eval(parse(text = facet)) +
ggtitle(paste("Bar plot colored by", rank_names(data)[2])) +
theme(plot.title = element_text(hjust = 0.5))
plot(p)

Composition plot
taxaSet1 <- unlist(strsplit(params$taxaSet1, " "))
p <- plot_composition(data, params$taxaRank1, taxaSet1, params$taxaRank2, params$numberOfTaxa, fill=params$taxaRank2)
Error in plot_composition(data, params$taxaRank1, taxaSet1, params$taxaRank2, : impossible de trouver la fonction "plot_composition"
p <- p + eval(parse(text = facet)) + theme(plot.title = element_text(hjust = 0.5))
gp <- ggplotly(p, tooltip = c("x", "y", "fill"))
gp$x$layout$annotations[[1]]$x <- -0.08
gp$x$layout$margin$l = 75
gp$x$layout$margin$b = 100
gp$x$layout$margin$t = 100
gp
LS0tCnRpdGxlOiAiRlJPR1MgUGh5bG9zZXE6IFZpc3VhbGlzZSBEYXRhIENvbXBvc2l0aW9uICh2ZXJzaW9uIDQuMC4xKSIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICBjb2RlX2ZvbGRpbmcgOiBoaWRlCnBhcmFtczoKICBwaHlsb3NlcToKICAgIHZhbHVlOiB4CiAgdmFyRXhwOgogICAgdmFsdWU6IHgKICB0YXhhUmFuazE6CiAgICB2YWx1ZTogeAogIHRheGFTZXQxOgogICAgdmFsdWU6IHgKICB0YXhhUmFuazI6CiAgICB2YWx1ZTogeAogIG51bWJlck9mVGF4YToKICAgIHZhbHVlOiB4CiAgbGliZGlyOgogICAgdmFsdWU6IHgKLS0tCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmNvZGUucnsgLyogQ29kZSBibG9jayAqLwogIGZvbnQtc2l6ZTogMTFweDsKfQpwcmV7IC8qIENvZGUgYmxvY2sgKi8KICBmb250LXNpemU6IDExcHgKfQouYnV0dG9uIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTdlY2M7IC8qIEJsdWUgKi8KICAgIGJvcmRlciAgICAgICAgICA6IG5vbmU7CiAgICBjb2xvciAgICAgICAgICAgOiB3aGl0ZTsKICAgIHBhZGRpbmcgICAgICAgICA6IDVweCAxMHB4OwogICAgdGV4dC1hbGlnbiAgICAgIDogY2VudGVyOwogICAgdGV4dC1kZWNvcmF0aW9uIDogbm9uZTsKICAgIGRpc3BsYXkgICAgICAgICA6IGlubGluZS1ibG9jazsKICAgIGZvbnQtc2l6ZSAgICAgICA6IDEycHg7CiAgICBtYXJnaW4gICAgICAgICAgOiA0cHggMnB4OwogICAgY3Vyc29yICAgICAgICAgIDogcG9pbnRlcjsKICAgIGJvcmRlci1yYWRpdXMgICA6IDhweDsKfQpoNCB7IAogICAgZGlzcGxheSAgICAgIDogYmxvY2s7CiAgICBmb250LXNpemUgICAgOiAxZW07CiAgICBtYXJnaW4tdG9wICAgOiAxLjMzZW07CiAgICBtYXJnaW4tYm90dG9tOiAxLjMzZW07CiAgICBtYXJnaW4tbGVmdCAgOiAwOwogICAgbWFyZ2luLXJpZ2h0IDogMDsKICAgIGZvbnQtd2VpZ2h0ICA6IGJvbGQ7CiAgICBjb2xvciAgICAgICAgOiAjMmE3ZWNjOwp9Cjwvc3R5bGU+CgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFLCBlcnJvciA9IFRSVUUpCmBgYApQaHlsb3NlcSBgciBwYWNrYWdlVmVyc2lvbigicGh5bG9zZXEiKWAKCmBgYHtyIGltcG9ydCwgbWVzc2FnZT1GQUxTRX0KIyMgSW1wb3J0IGZ1bmN0aW9ucwpsaWJyYXJ5KHBsb3RseSkKbGlicmFyeShwaHlsb3NlcSkKc291cmNlKGZpbGUucGF0aChwYXJhbXMkbGliZGlyLCAiZ3JhcGhpY2FsX21ldGhvZHMuUiIpKSAKIyMgQWx0ZXJuYXRpdmUgdG8gc291cmNlIGFsbCBleHRyYSBmdW5jdGlvbiBmcm9tIGEgZ2l0aHViIHJlcG8KIyBzb3VyY2UoImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tYWhlbmRyYS1tYXJpYWRhc3NvdS9waHlsb3NlcS1leHRlbmRlZC9tYXN0ZXIvbG9hZC1leHRyYS1mdW5jdGlvbnMuUiIpCgojIyBTZXR0aW5nIHZhcmlhYmxlcwogICMjIFBoeWxvc2VxIG9iamVjdCAocmRhdGEgZmlsZSkKICAjIHBoeWxvc2VxIDwtICIiCiAgCiAgIyMgRXhwZXJpbWVudGFsIHZhcmlhYmxlIHVzZWQgdG8gZ3JvdXAgc2FtcGxlcyAoVHJlYXRtZW50LCBIb3N0IHR5cGUsIGV0YykuCiAgIyB2YXJFeHAgPC0gIiIgCiAgCiAgIyMgVGF4b25vbWljIGxldmVsIHRvIGZpbHRlciB5b3VyIGRhdGEiIGhlbHA9ImV4OiBLaW5nZG9tLCBQaHlsdW0sIENsYXNzLCBPcmRlciwgRmFtaWx5LCBHZW51cywgU3BlY2llcwogICMgdGF4YVJhbmsxIDwtICIiCiAgCiAgIyMgVGF4YSAoYXQgdGhlIGFib3ZlIHRheG9ub21pYyBsZXZlbCkgdG8ga2VlcCBpbiB0aGUgZGF0YXNldCIKICAjIyBleDogQmFjdGVyaWEgKHdoZW4gZmlsdGVyaW5nIGF0IHRoZSBLaW5nZG9tIGxldmVsKSwgRmlybWljdXRlcyAod2hlbiBmaWx0ZXJpbmcgYXQgdGhlIFBoeWx1bSBsZXZlbCkuIAogICMjIE11bHRpcGxlIHRheGEgKHNlcGFyYXRlZCBieSBhIHNwYWNlKSBjYW4gYmUgc3BlY2lmaWVkLCBpLmUuIEZpcm1pY3V0ZXMgUHJvdGVvYmFjdGVyaWEgCiAgIyB0YXhhU2V0MSA8LSAiIiAKICAKICAjIyBUYXhvbm9taWMgbGV2ZWwgdXNlZCBmb3IgYWdncmVnYXRpb24iIGhlbHA9ImV4OiBGYW1pbHkgKHdoZW4gZmlsdGVyaW5nIGF0IHRoZSBQaHlsdW0gbGV2ZWwpLiAKICAjIyBUaGUgYWdncmVnYXRpb24gbGV2ZWwgbXVzdCBiZSBiZWxvdyB0aGUgZmlsdGVyaW5nIGxldmVsLgogICMgdGF4YVJhbmsyIDwtICIiCiAgCiAgIyMgTnVtYmVyIG9mIG1vc3QgYWJ1bmRhbnQgdGF4YSB0byBrZWVwIiwgCiAgIyMgZXg6IDksIGkuZS4gVG9vbCBrZWVwcyB0aGUgOSBtb3N0IGFidW5kYW50IHRheGEgYW5kIHRoZSByZW1haW5pbmcgdGF4YSBhcmUgYWdncmVnYXRlZCBpbiBhIGdyb3VwICdPdGhlcgogICMgbnVtYmVyT2ZUYXhhID0gCgogICMjIENyZWF0ZSBpbnB1dCBhbmQgcGFyYW1ldGVycyBkYXRhZnJhbWUKICAjIHBhcmFtcyA8LSBkYXRhLmZyYW1lKCJwaHlsb3NlcSI9cGh5bG9zZXEsIAogICMgICAgICAgICAgICAgICAgICAgICAgInZhckV4cCI9dmFyRXhwLCAKICAjICAgICAgICAgICAgICAgICAgICAgICJ0YXhhUmFuazEiID0gdGF4YVJhbmsxLCAKICAjICAgICAgICAgICAgICAgICAgICAgICJ0YXhhU2V0MSIgPSB0YXhhU2V0MSwgCiAgIyAgICAgICAgICAgICAgICAgICAgICAidGF4YVJhbmsyIiA9IHRheGFSYW5rMiwgCiAgIyAgICAgICAgICAgICAgICAgICAgICAibnVtYmVyT2ZUYXhhIj1udW1iZXJPZlRheGEgKQoKIyMgTG9hZCBQaHlsb3NlcSBvYmplY3QKbG9hZChwYXJhbXMkcGh5bG9zZXEpCgojIGN1c3R1bSBncmFwaGljYWwgZmFjZXR0aW5nCmZhY2V0IDwtIHBhc3RlKCdmYWNldF93cmFwKH4nLCBwYXJhbXMkdmFyRXhwLCcsIHNjYWxlcyA9ICJmcmVlX3giLCBucm93ID0gMSknKQoKYGBgCgojIHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfQojIyBCYXIgcGxvdApgYGB7ciBiYXJfcGxvdCwgZmlnLndpZHRoPTEwLCBmaWcuaGVpZ2h0PTh9CnAgPC0gcGxvdF9iYXIoZGF0YSxmaWxsPSByYW5rX25hbWVzKGRhdGEpWzJdKSArIGV2YWwocGFyc2UodGV4dCA9IGZhY2V0KSkgKyAKICAgICAgICBnZ3RpdGxlKHBhc3RlKCJCYXIgcGxvdCBjb2xvcmVkIGJ5IiwgcmFua19uYW1lcyhkYXRhKVsyXSkpICsgCiAgICAgICAgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChoanVzdCA9IDAuNSkpCnBsb3QocCkKYGBgCgojIyBDb21wb3NpdGlvbiBwbG90CmBgYHtyIGNvbXBvc2lvbl9wbG90LCBmaWcud2lkdGg9MTAsIGZpZy5oZWlnaHQ9OCwgd2FybmluZz1GQUxTRX0KdGF4YVNldDEgPC0gdW5saXN0KHN0cnNwbGl0KHBhcmFtcyR0YXhhU2V0MSwgIiAiKSkKcCAgICAgICAgPC0gcGxvdF9jb21wb3NpdGlvbihkYXRhLCBwYXJhbXMkdGF4YVJhbmsxLCB0YXhhU2V0MSwgcGFyYW1zJHRheGFSYW5rMiwgcGFyYW1zJG51bWJlck9mVGF4YSwgZmlsbD1wYXJhbXMkdGF4YVJhbmsyKSAKcCAgICAgICAgPC0gcCArIGV2YWwocGFyc2UodGV4dCA9IGZhY2V0KSkgKyB0aGVtZShwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41KSkKCmdwIDwtIGdncGxvdGx5KHAsIHRvb2x0aXAgPSBjKCJ4IiwgInkiLCAiZmlsbCIpKQpncCR4JGxheW91dCRhbm5vdGF0aW9uc1tbMV1dJHggPC0gLTAuMDgKZ3AkeCRsYXlvdXQkbWFyZ2luJGwgPSA3NQpncCR4JGxheW91dCRtYXJnaW4kYiA9IDEwMApncCR4JGxheW91dCRtYXJnaW4kdCA9IDEwMApncApgYGAK